<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:tns="http://schemas.datacontract.org/2004/07/jSLCore.Service.Security" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/jSLCore.Service.Security" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://localhost:51277/RootService.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
  <xs:import schemaLocation="http://localhost:51277/RootService.svc?xsd=xsd5" namespace="http://schemas.datacontract.org/2004/07/jSLCore.Service.Data" />
  <xs:import schemaLocation="http://localhost:51277/RootService.svc?xsd=xsd6" namespace="http://schemas.datacontract.org/2004/07/System.Data.Linq" />
  <xs:complexType name="ArrayOfPermissionDescription">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="PermissionDescription" nillable="true" type="tns:PermissionDescription" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfPermissionDescription" nillable="true" type="tns:ArrayOfPermissionDescription" />
  <xs:complexType name="PermissionDescription">
    <xs:sequence>
      <xs:element minOccurs="0" name="Permission" type="xs:int" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="PermissionDescription" nillable="true" type="tns:PermissionDescription" />
  <xs:complexType name="Role">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q1="http://schemas.datacontract.org/2004/07/jSLCore.Service.Data" base="q1:BaseData">
        <xs:sequence>
          <xs:element minOccurs="0" name="BaseRoles" nillable="true" type="tns:ArrayOfRole" />
          <xs:element minOccurs="0" name="PermissionCash" nillable="true" type="tns:ArrayOfPermissionDescription" />
          <xs:element minOccurs="0" name="id" type="ser:guid" />
          <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Permissions" nillable="true" type="tns:ArrayOfPermission">
            <xs:annotation>
              <xs:appinfo>
                <DefaultValue EmitDefaultValue="false" xmlns="http://schemas.microsoft.com/2003/10/Serialization/" />
              </xs:appinfo>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="RoleInherits" nillable="true" type="tns:ArrayOfRoleInherit">
            <xs:annotation>
              <xs:appinfo>
                <DefaultValue EmitDefaultValue="false" xmlns="http://schemas.microsoft.com/2003/10/Serialization/" />
              </xs:appinfo>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="RoleInherits1" nillable="true" type="tns:ArrayOfRoleInherit">
            <xs:annotation>
              <xs:appinfo>
                <DefaultValue EmitDefaultValue="false" xmlns="http://schemas.microsoft.com/2003/10/Serialization/" />
              </xs:appinfo>
            </xs:annotation>
          </xs:element>
          <xs:element minOccurs="0" name="Users" nillable="true" type="tns:ArrayOfUser">
            <xs:annotation>
              <xs:appinfo>
                <DefaultValue EmitDefaultValue="false" xmlns="http://schemas.microsoft.com/2003/10/Serialization/" />
              </xs:appinfo>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Role" nillable="true" type="tns:Role" />
  <xs:complexType name="ArrayOfRole">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Role" nillable="true" type="tns:Role" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfRole" nillable="true" type="tns:ArrayOfRole" />
  <xs:complexType name="ArrayOfPermission">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Permission" nillable="true" type="tns:Permission" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfPermission" nillable="true" type="tns:ArrayOfPermission" />
  <xs:complexType name="Permission">
    <xs:sequence>
      <xs:element minOccurs="0" name="id" type="ser:guid" />
      <xs:element minOccurs="0" name="PermissionNumber" type="xs:int" />
      <xs:element minOccurs="0" name="RoleId" type="ser:guid" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Permission" nillable="true" type="tns:Permission" />
  <xs:complexType name="ArrayOfRoleInherit">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="RoleInherit" nillable="true" type="tns:RoleInherit" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfRoleInherit" nillable="true" type="tns:ArrayOfRoleInherit" />
  <xs:complexType name="RoleInherit">
    <xs:sequence>
      <xs:element minOccurs="0" name="id" type="ser:guid" />
      <xs:element minOccurs="0" name="ParentRoleId" type="ser:guid" />
      <xs:element minOccurs="0" name="ChildRoleId" type="ser:guid" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="RoleInherit" nillable="true" type="tns:RoleInherit" />
  <xs:complexType name="ArrayOfUser">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="User" nillable="true" type="tns:User" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfUser" nillable="true" type="tns:ArrayOfUser" />
  <xs:complexType name="User">
    <xs:sequence>
      <xs:element minOccurs="0" name="Login" nillable="true" type="xs:string" />
      <xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/System.Data.Linq" minOccurs="0" name="Password" nillable="true" type="q2:Binary" />
      <xs:element minOccurs="0" name="IsEnabled" type="xs:boolean" />
      <xs:element minOccurs="0" name="RoleId" nillable="true" type="ser:guid" />
      <xs:element minOccurs="0" name="CreationDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="RemeberCode" nillable="true" type="ser:guid" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="User" nillable="true" type="tns:User" />
  <xs:complexType name="ArrayOfEnumDescription">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="EnumDescription" nillable="true" type="tns:EnumDescription" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfEnumDescription" nillable="true" type="tns:ArrayOfEnumDescription" />
  <xs:complexType name="EnumDescription">
    <xs:sequence>
      <xs:element minOccurs="0" name="id" type="ser:guid" />
      <xs:element minOccurs="0" name="ClassName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Value" type="xs:short" />
      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="EnumDescription" nillable="true" type="tns:EnumDescription" />
</xs:schema>